﻿using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;
using System.Collections.Generic;

namespace Acaweb.Servicios.Contracts
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IEvaluarEstudiantesService" in both code and config file together.
    [ServiceContract]
    public interface IEvaluarEstudiantesService
    {
        /// <summary>
        /// Almacena el resultado de la evaluación de un estudiante en un curso
        /// </summary>
        /// <param name="CursoPk"></param>
        /// <param name="Nota"></param>
        /// <param name="Corte"></param>
        [Acaweb.Servicios.Utility.AmbitoRealizacion(new Acaweb.Servicios.Utility.Ambitos[] { Acaweb.Servicios.Utility.Ambitos.Docente })]
        [WebInvoke(Method = "POST", UriTemplate = "EvaluarCurso", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        void EvaluarCurso(CursosMatriculadosPk CursoPk, double Nota);

        //[Acaweb.Servicios.Utility.AmbitoRealizacion(new Acaweb.Servicios.Utility.Ambitos[] { Acaweb.Servicios.Utility.Ambitos.Docente })]
        [WebInvoke(Method = "POST", UriTemplate = "CorteHabilitado", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        int CorteHabilitado(CursoPk CursoPk);
    }
}
